/*
 * Copyright (C) 2007-2012 by XDEV Software, All Rights Reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License version 3.0 as published by the Free Software Foundation.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
 
package xdev.lang;


/**
 * This is a marker interface for classes which offer a static instance of
 * itself.
 * <p>
 * Note: The class may be a singleton or offer public constructors for
 * additional instances. This behaviour is not defined by this interface.
 * </p>
 * <p>
 * Every class which implements <code>StaticInstanceSupport</code> must provide
 * a static <code>getInstance()</code> method.<br>
 * Example:
 * 
 * <pre>
 * public class GlobalVirtualTable extends VirtualTable implements StaticInstanceSupport
 * {
 * 	private static GlobalVirtualTable instance = null;
 * 
 * 	public static GlobalVirtualTable getInstance(){
 * 		if(instance == null){
 * 			instance = new GlobalVirtualTable();
 * 		}
 * 
 * 		return instance;
 * 	}
 * 	
 * 	...
 * }
 * </pre>
 * 
 * </p>
 * 
 * 
 * @author XDEV Software Corp.
 */

public interface StaticInstanceSupport
{
}
